package com.skillworld.webapp.model.tutorial;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

@Entity
@Table(name="tutorialranking")
public class TutorialRanking {

    private Long tutRankingId;
    private Date date;
    private Tutorial tutorialId1;
    private Tutorial tutorialId2;
    private Tutorial tutorialId3;
    private Tutorial tutorialId4;
    private Tutorial tutorialId5;
    
    public TutorialRanking(){
        
    }
    
    public TutorialRanking(Date date, Tutorial tutorialId1, Tutorial tutorialId2, 
            Tutorial tutorialId3, Tutorial tutorialId4, Tutorial tutorialId5) {
        
        this.date = date;
        this.tutorialId1 = tutorialId1;
        this.tutorialId2 = tutorialId2;
        this.tutorialId3 = tutorialId3;
        this.tutorialId4 = tutorialId4;
        this.tutorialId5 = tutorialId5;
    }

    @SequenceGenerator(name="TutorialRankingIdGenerator",sequenceName="TutorialRankingSeq")
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO,generator="TutorialRankingIdGenerator")
    @Column(name="idRankingTU")
    public Long getTutRankingId() {
        return tutRankingId;
    }

    public void setTutRankingId(Long tutRankingId) {
        this.tutRankingId = tutRankingId;
    }

    @Column(name = "date")
    public Date getDate() {
        return date;
    }

    public void setDate(Date date) {
        this.date = date;
    }

    @ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="idTutorial1")
    public Tutorial getTutorialId1() {
        return tutorialId1;
    }

    public void setTutorialId1(Tutorial tutorialId1) {
        this.tutorialId1 = tutorialId1;
    }

    @ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="idTutorial2")
    public Tutorial getTutorialId2() {
        return tutorialId2;
    }

    public void setTutorialId2(Tutorial tutorialId2) {
        this.tutorialId2 = tutorialId2;
    }

    @ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="idTutorial3")
    public Tutorial getTutorialId3() {
        return tutorialId3;
    }

    
    public void setTutorialId3(Tutorial tutorialId3) {
        this.tutorialId3 = tutorialId3;
    }

    @ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="idTutorial4")
    public Tutorial getTutorialId4() {
        return tutorialId4;
    }

    public void setTutorialId4(Tutorial tutorialId4) {
        this.tutorialId4 = tutorialId4;
    }

    @ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="idTutorial5")
    public Tutorial getTutorialId5() {
        return tutorialId5;
    }

    public void setTutorialId5(Tutorial tutorialId5) {
        this.tutorialId5 = tutorialId5;
    }
    
}
